Some Guidelines for Formal Development of Web-Based Applications in B-Method
نویسندگان
چکیده
Web-based applications are the most common form of distributed systems that have gained a lot of attention in the past ten years. Today many of us are relying on scores of mission-critical Web-based systems in different areas such as banking, finance, e-commerce and government. The development process of these systems needs a sound methodology, which ensures quality, consistency and integrity. Formal Methods provide systematic and quantifiable approaches to create coherent systems. Despite this there has been limited work on the formal modelling of Web-based applications. In this paper our aim is to provide researchers with some guidelines based on results from ongoing work to model a Web-based system using the B-Method. Session and state management, developing formal models for complex data types, abstraction of distributed database systems and formal representation of communication links between different components of a web-based system are the main issues that we have examined. 1 An Introduction to Web-Based Systems Web-based applications are distributed systems that can be accessed using a Web browser. During recent years the extent and scope of their use has grown rapidly, significantly affecting all aspects of our lives. Industries such as manufacturing, travel and hospitality, banking, education, and government are Web-enabled to improve and enhance their operations. E-commerce has expanded quickly, cutting across national boundaries. Even traditional legacy systems have migrated to the Web. The scope and complexity of current Web applications varies widely: from small-scale, short-lived services to large-scale enterprise applications distributed across the Internet and corporate intranets and extranets. Although numerous Web-based systems are in use now and many of us rely on them, the manner in which they are developed raises serious concerns [1–3]; they need to be reliable and perform well. To build such systems, Web-based system developers need a sound methodology, a disciplined process and a set of good guidelines. Due to the high amount of new demands, Web applications are evolving continually and the complexity of these systems is increasing rapidly. Therefore the use of a rigorous method becomes more important. Formal methods use mathematical notation to describe systems in a clear and rigorous manner. Abstraction and stepwise refinement employed by formal methods is a valuable approach for developing complex Web-based systems. The B-Method is a well-known formal method [4] which has been applied to several software development missions including academic and industrial projects [5–7]. Our aim in this paper, through the modelling of this specimen Web-based system, is to identify some challenging aspects of these types of systems and propose an approach to their formal representation. We hope to provide a set of guidelines which could serve as a basis for further work. In the rest of this paper we present the travel agency case study and briefly discuss its initial aims and objectives. The chosen case study has been selected to be inclusive enough to represent the main properties and functionality of typical Web applications. By developing formal models in B we have extracted some generic and essential patterns. These patterns are considered to model some common properties and functionality shared by a broad category of Web applications. In the next step we have tried to find some appropriate formal refinements for these abstract patterns which could be provable within the framework of the B prover tool [8– 10]. As Web applications are distributed systems, the decomposition of primary refinement models into subsystems and introducing suitable formal models for communication links are other objectives. The last section concludes the paper with recommendations for further work and discussions. 2 Informal Representation of the Case Study Here we outline the main requirements and sketch the overall architecture of the system. The aim is to develop a Web-based Travel Agency system to enable potential users to access it through an Internet connection using a standard Web browser to perform one or more of the following tasks: – Book a flight or Cancel a booked flight – Book a room or or Cancel a booked room – Hire a car or Cancel a hired car The Travel Agency Web-based system is hosted on the Travel Agency Server which is responsible for processing the Web-clients’ requests. These messages are produced and sent by the client browser through Internet links and based on HTTP or other similar standards. The travel agency system relies on a group of secondary agencies’ servers like flight agencies to accomplish the client requests. The travel agency system uses Internet links to communicate with the secondary servers. A simple architecture of this system is depicted in Figure 1. In Figure 1 we see that more than one client could communicate with the travel agency system simultaneously. The travel agency system will manage the status of different sessions using state variables, stored in a local database. For booking requests like flight booking, a message which includes details about the request will be broadcast to all related agencies’ servers by travel agency system. Responses which the travel agency should expect could vary from zero to the Client Client Client Client Web-based Travel agency system ........ Hotel system Flight agency
منابع مشابه
A model for specification, composition and verification of access control policies and its application to web services
Despite significant advances in the access control domain, requirements of new computational environments like web services still raise new challenges. Lack of appropriate method for specification of access control policies (ACPs), composition, verification and analysis of them have all made the access control in the composition of web services a complicated problem. In this paper, a new indepe...
متن کاملElectronic Non Formal Education: A Case Study of Tehran Municipality
Considering the emergence of brand-new educational needs, non-formal education as a prerequisite of a knowledge-based society is increasingly going popular among nations in view of its continual nature. However, life-long learning as a key concept of the modern education system stands clearly at odds with traditional learning in every way of philosophy, objectives,...
متن کاملDesign and Evaluation of a Method for Partitioning and Offloading Web-based Applications in Mobile Systems with Bandwidth Constraints
Computation offloading is known to be among the effective solutions of running heavy applications on smart mobile devices. However, irregular changes of a mobile data rate have direct impacts on code partitioning when offloading is in progress. It is believed that once a rate-adaptive partitioning performed, the replication of such substantial processes due to bandwidth fluctuation can be avoid...
متن کاملGuidelines for Improving the Development of Web-Based Applications
In this paper we present some useful guidelines for the development of web-based applications. We comment on the current trend of development, its drawbacks, and then propose some guidelines to improve the quality of such practice. These guidelines are being investigated and it turns out to be very convenient and helpful.
متن کاملA density based clustering approach to distinguish between web robot and human requests to a web server
Today world's dependence on the Internet and the emerging of Web 2.0 applications is significantly increasing the requirement of web robots crawling the sites to support services and technologies. Regardless of the advantages of robots, they may occupy the bandwidth and reduce the performance of web servers. Despite a variety of researches, there is no accurate method for classifying huge data ...
متن کامل